// pages/recently/recently.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        list:[], //页面将要显示的歌曲数据的数组
        likes:[], //获取数据缓存中数据的暂存数组，方便进行数据操作
        arrayname:"recently", //最近播放的数据集合名
        nothing:false, //控制空页面显示/隐藏
    },
    //单击歌曲播放图标时触发
    Jumpbandler(e){
        console.log(e.currentTarget.dataset.id);
        console.log(e.currentTarget.dataset.arrayname);
        let id = e.currentTarget.dataset.id
        let arrayname = e.currentTarget.dataset.arrayname
        wx.navigateTo({
            url: '/pages/player/player',
            success(res) {
              // 通过 eventChannel 向被打开页面传送数据
              res.eventChannel.emit('acceptDataFromOpenerPage', { id: id ,arrayname: arrayname})
            }
          })
    },
    //单击爱心图标时触发
    likebandler(e){
        console.log(e.currentTarget.dataset.id);
        let id = e.currentTarget.dataset.id
        let list = this.data.list
        let likes = this.data.likes
        //通过id获取歌曲索引
        let v = list.findIndex(item=>item.id == id)
        //通过id获取该歌曲对象
        let item = list.find(item=>item.id == id)
        console.log(item);
        console.log(item.like);
        //判断当前歌曲是否已存入likes数据缓存中(即是否已加入我的喜欢)
        if (item.like == false) {
            list[v].like = true
            likes.unshift(item)
            //将歌曲对象item存入likes数据缓存中
            wx.setStorage({
                key:'likes',
                data:likes
            })
            this.setData({
                list,likes
            })
        }else{
            //将itme从likes数据缓存中删除
            list[v].like = false
            let like_v  = likes.findIndex(value=>value.id == id)
            likes.splice(like_v,1)
            wx.setStorage({
                key:'likes',
                data:likes
            })
            this.setData({
                list,likes
            })
        }
        

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        // let that = this
        // wx.getStorage({
        //     key: 'recently',
        //     success (res) {
        //         console.log(res.data)
        //         that.setData({
        //             list:res.data
        //         })
        //         wx.getStorage({
        //             key:'likes',
        //             success(res){
        //                 that.setData({
        //                     likes:res.data
        //                 })
        //                 let array = res.data
        //                 let list = that.data.list
        //                 console.log(array);
        //                 console.log(list);
        //                 for (let index = 0; index < array.length; index++) {
        //                     const item = array[index];
        //                     console.log(item);
        //                     console.log(item.id);
        //                     let v = list.findIndex(value=>value.id == item.id)
        //                     if (v!=-1) {
        //                         console.log(v);
        //                         list[v].like = true
        //                         that.setData({list}) 
        //                     }
        //                 }
        //             }
        //         })
        //     }
        // })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        let that = this
        //页面显示时从数据缓存中获取最近播放集合（recently）
        wx.getStorage({
            key: 'recently',
            success (res) {
                console.log(res.data)
                that.setData({
                    list:res.data
                })
                wx.getStorage({
                    key:'likes',
                    success(res){
                        that.setData({
                            likes:res.data
                        })
                        let array = res.data
                        let list = that.data.list
                        console.log(array);
                        console.log(list);
                        for (let index = 0; index < array.length; index++) {
                            const item = array[index];
                            console.log(item);
                            console.log(item.id);
                            let v = list.findIndex(value=>value.id == item.id)
                            if (v!=-1) {
                                console.log(v);
                                list[v].like = true
                                that.setData({list}) 
                            }
                        }
                    }
                })
            }
        })
        wx.getStorageInfo({
            success: (res) => {
                console.log(res.keys);
                //判断数据缓存中是否有recently集合（即判断最近播放是否有数据，若无数据则显示空页面）
                let a = res.keys.indexOf('recently')
                console.log(a);
                if (a == -1) {
                  this.setData({nothing:true})
              }
            },
          })
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})